package com.zxj.userscenter.common.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import com.alibaba.fastjson.JSON;

/**
 * 文件相关的工具类
 * @author ASUS
 *
 */
public class FileUtil
{
  /**
   * 读取一个文件的内容
   */
	public String readFile(File sourceFile)
	{
		/**
		 * 读取一个文件的内容
		 * @param sourceFile	原始文件内容
		 * @return	文件内容的字符串
		 */
		try
		{
			return this.readFile(new FileInputStream(sourceFile));
		} catch (FileNotFoundException e)
		{
			ConstatFinalUtil.LOGGER.error("读取不存在：文件路径:{}",sourceFile,e);
			e.printStackTrace();
		}
		return "";
	}
	/**
	 * 读取一个文件内容
	 * @param is 输入流
	 */
	public String readFile(InputStream is)
	{
		StringBuffer sb=new StringBuffer();
		BufferedReader br=null;
		try
		{
			 br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
			 String line="";
			 while((line=br.readLine())!=null)
			 {
				line=line.trim();
				if("".equalsIgnoreCase(line)||line.startsWith("//"))
				{
					continue;
				}
				sb.append(line);
			 }
		} catch (IOException e)
		{
			
			ConstatFinalUtil.LOGGER.error("读取输入流内容失败:",e);
		}finally{
			try
			{
				if(br!=null)
				{
					br.close();
				}
			} catch (IOException e)
			{
				ConstatFinalUtil.LOGGER.error("读取输入流关闭时失败:",e);
				e.printStackTrace();
			}
		}
		
		return sb.toString();
	}
	public static void main(String[] args)
	{
		FileUtil fileUtil=new FileUtil();
		File sourceFile=new File("D:/Users/ASUS/userCenter/usersCenter/usersCenter_common/src/main/resources/resourceInfo.json");
		String res=fileUtil.readFile(sourceFile);
		System.out.println(res);
		JSON.parse(res);
	}
}
